1. Technical Field
The present technology relates generally to network-based application distribution systems and more specifically to enhanced heuristics for scheduling updates and for batching notifications and authorization requests involving updates.
2. Introduction
Online commerce using is quickly becoming a ubiquitous part of the modern economy. Additionally, computing devices have become much more compact, mobile, and streamlined. Along with these advances, consumers have grown accustomed to media and software applications that are intelligently designed, easily accessible, and hassle-free to use. Likewise, consumers have come to expect that the online marketplace will be streamlined and user-friendly as well.
An example of an online marketplace is a network-based application distribution system. Such a market offers software application from software developers as free and paid downloads. Downloaded applications can also be updated by software developers from time to time to fix bugs, update settings, add additional content and features, etc. However, many known application updating and authorization protocols are non-intuitive, tedious, or otherwise not user-friendly. Indeed, system operators must balance practical requirements with the level of hassle-free design and user-friendliness that consumers expect.
For example, in an application distribution system, system operators must ensure that users are who they claim to be before making a purchase or updating an application; otherwise, a fraudulent user or a careless user (i.e. an infant mashing buttons) can make purchases, change settings, or otherwise wreak havoc to a user's account or device. Therefore, system administrators must put authorization checks in place; however, these requests for authorization should not be so frequent or burdensome so as to discourage use of an application distribution system.
Also, when operating an application distribution system, it is ideal that users apply software updates in a timely manner. For example, a quick application update with a patch to fix a minor problem can prevent the old software from crashing a device. Indeed, outdated applications on client devices having software bugs can impart very large maintenance costs to an application distribution system that supports those applications and their updates. Consequently, it is in the best interest of the administrators of the application distribution system that users of the applications update them as soon as updates and bug fixes become available to them. On the other hand, the same administrators do not want to pester their users fearing the negative consequences of overwhelming the user or seemingly monitoring user activity.
Likewise, while keeping the general preference for users to update applications when updates become available, it is in the best interest of the application distribution system to keep users' cellular carrier costs low so as not to discourage their use of the system.
Many users do not bother to check their device for available updates and must be prompted; however, the users are oftentimes prompted to initiate updates at times which may cause them to either incur massive cellular charges, wait a very long time over a slow connection, or shift their attention away from a dangerous or business-sensitive task, i.e. while driving or while drafting an important email. Additionally, once a user is prompted to download and install updates and the user accepts, it is oftentimes the case that many of the updates require a user to accept the terms of a notification, chose update features, and authorize the installation of the updates. When a large number of updates are being installed at one time, these notifications and requests for authorization can become tedious.